<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<!-- HTML file produced from file: manual.tex --
 -- using Hyperlatex v 2.3.1 (c) Otfried Cheong--
 -- on Emacs 21.4 (patch 12) "Portable Code" XEmacs Lucid, Wed Jun  2 18:56:51 2004 -->
<HEAD>
<TITLE>Scheme 48 Manual -- Performance</TITLE>

</HEAD><BODY BGCOLOR="#ffffff">
<EM>Scheme 48 Manual</EM> | <A HREF="s48manual.html#top_node">Contents</A> | In Chapter: <A HREF="s48manual_3.html">User's guide</A><BR>Previous: <A HREF="s48manual_6.html">Editing</A> | Next: <A HREF="s48manual_8.html">Disassembler</A>
<H2>Performance</H2>

<P>If you want to generally have your code run faster than it normally
would, enter <CODE>inline-values</CODE> mode before loading anything.  Otherwise
calls to primitives (like <CODE>+</CODE> and <CODE>cons</CODE>) and in-line procedures
(like <CODE>not</CODE> and <CODE>cadr</CODE>) won't be open-coded, and programs will run
more slowly.
<P>The system doesn't start in <CODE>inline-values</CODE> mode by default because the
Scheme report permits redefinitions of built-in procedures.  With
this mode set, such redefinitions don't work according to the report,
because previously compiled calls may have in-lined the old
definition, leaving no opportunity to call the new definition.
<P><CODE>Inline-values</CODE> mode is controlled by the <CODE>inline-values</CODE> switch.
<CODE>,set inline-values</CODE> and <CODE>,unset inline-values</CODE> turn it on and off.
<P><P>
  
Previous: <A HREF="s48manual_6.html">Editing</A> | Next: <A HREF="s48manual_8.html">Disassembler</A></BODY></HTML>
